package com.sky.web.example.controller.test;

import com.sky.common.annotation.Anonymous;
import com.sky.web.example.bean.User;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

// 使用@RestController注解来标注这个类为RESTful控制器
@RestController
@Anonymous
// 定义该控制器的基础URL路径
@RequestMapping("/user")
public class UserController {

    // 创建一个静态的Map来模拟学生数据存储
    private static Map<Integer, User> userMap = new HashMap<>();

    // 静态初始化块，用于填充模拟数据
    static {
        userMap.put(1, new User("Alice", 18));
        userMap.put(2, new User("Bob", 20));
    }

    // 处理GET请求，返回所有学生的列表
    @GetMapping
    public Map<Integer, User> getAllStudents() {
        return userMap;
    }
    // 处理GET请求，根据ID返回特定学生的详细信息
    @GetMapping("/{id}")
    public User getStudentById(@PathVariable int id) {
        return userMap.getOrDefault(id,
                null);
    }
    // 处理GET请求，根据姓名搜索并返回学生的ID
    @GetMapping("/search")
    public Integer searchStudentByName(@RequestParam String name) {
        for (Map.Entry<Integer,User > entry : userMap.entrySet()) {
            if (entry.getValue().getName().equalsIgnoreCase(name)) {
                return entry.getKey();
            }
        }
        return -1; // 如果没有找到匹配的学生，则返回-1
    }
}